package com.chunfeng.mapper;

import com.chunfeng.entity.Role;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 角色实体Mapper
 *
 * @author by 春风能解释
 * <p>
 * 2022/12/18
 */
public interface RoleMapper {

    /**
     * 查询所有角色
     *
     * @return 角色列表
     */
    List<Role> selectAllRole();

    /**
     * 根据角色名查询角色
     *
     * @param name 角色名
     * @return 角色列表
     */
    List<Role> selectRolesByName(@Param("name") String name);

    /**
     * 根据ID值查询角色
     *
     * @param id ID值
     * @return 角色信息
     */
    Role selectAllRoleById(@Param("id") Integer id);

    /**
     * 添加一条角色信息
     *
     * @param role 角色信息
     * @return 影响行数
     */
    Integer insertRole(Role role);

    /**
     * 根据ID修改角色
     *
     * @param role 待修改的角色信息
     * @return 影响行数
     */
    Integer updateRoleById(Role role);

    /**
     * 根据ID删除角色
     *
     * @param ids 编号
     * @return 影响行数
     */
    Integer deleteRoleById(@Param("ids") Integer[] ids);

    /**
     * 根据ID值统计角色数量
     *
     * @param ids ID值
     * @return 数量
     */
    Integer countRole(@Param("ids") Integer[] ids);
}
